home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / password.arc / PASSWORD.BAS < prev   
Encoding:
BASIC Source File  |  1986-05-14  |  3.1 KB  |  81 lines

  1. 10 ' *********************************************
  2. 20 ' *                                           *
  3. 30 ' *   PASSWORD.BAS  -  example program        *
  4. 40 ' *                                           *
  5. 50 ' *                                           *
  6. 60 ' *      by     Robert Hendrix                *
  7. 70 ' *             1080 Bouldercrest Dr.         *
  8. 80 ' *             Watkinsville, GA              *
  9. 90 ' *                                           *
  10. 100 '*                                           *
  11. 110 '*********************************************
  12. 120 '
  13. 130 KEY OFF : DIM USERNAME$(15), PASSWORD$(15)
  14. 140 '
  15. 150 ' ========= ROUTINE TO DISABLE CTRL - BREAK COMBINATION ==================
  16. 160 '
  17. 170 DEF SEG=0
  18. 180 POKE &H6C,&H53
  19. 190 POKE &H6D,&HFF
  20. 200 POKE &H6E,&H0
  21. 210 POKE &H6F,&HF0
  22. 220 '
  23. 230 '========== OPEN AND READ VALUES FROM PASSWORD FILE ======================
  24. 240 '
  25. 250 OPEN "I",#1,"filename.dat"
  26. 260  FOR X=1 TO 15 : IF EOF(1) THEN 290     ' Set up for 15 user ID's
  27. 270 INPUT #1,USERNAME$(X),PASSWORD$(X)
  28. 280 NEXT
  29. 290 CLOSE #1
  30. 300 '
  31. 310 '========= ASK USER TO TOGGLE CAPS LOCK ===============================
  32. 320 '
  33. 330 CLS:LOCATE 25,1 : PRINT "Have you pressed the caps lock key to the ";
  34. 340 COLOR 31 : PRINT "ON "; :COLOR 7:PRINT " position (Y or N)?"
  35. 350 YESNO$ = INKEY$ : IF YESNO$ = "" THEN 350
  36. 360 IF YESNO$ = "Y" THEN 390
  37. 370 LOCATE 24,10 : PRINT "It dosen't feel right to me . . try again !";
  38. 380 FOR M=1 TO 1250 :NEXT : PRINT SPC(50); : GOTO 330
  39. 390 LOCATE 24,1 : PRINT SPC(50):LOCATE 25,1 : PRINT SPC(50)
  40. 400 '
  41. 410 '========= ASK USER FOR HIS/HER NAME ===================================
  42. 420 '
  43. 430 CLS : LOCATE 5,5 : INPUT "Please enter your name "; NME$
  44. 440 IF NME$="JUNK" THEN END
  45. 450 LOCATE 7,5 : PRINT "Thank-you " NME$
  46. 460 FOR J=1 TO 850 : NEXT
  47. 470 '
  48. 480 '========= MATCH NAME ENTERED WITH NAME SAVED FROM PASSWORD FILE ==========
  49. 490 '
  50. 500 IF NME$="" THEN 540
  51. 510 FOR Z=1 TO 15
  52. 520 IF NME$ = USERNAME$(Z) THEN 590
  53. 530 NEXT Z
  54. 540 CLS : LOCATE 5,5 : PRINT "******  INVALID USERNAME ******"
  55. 550 FOR N=1 TO 850 : NEXT : GOTO 760
  56. 560 '
  57. 570 '========= ASK FOR USER'S PASSWORD =======================================
  58. 580 '
  59. 590 CLS : LOCATE 5,5 : PRINT "Please enter your password "
  60. 600 PS$ = INKEY$ : IF PS$ = "" THEN 600
  61. 610 IF ASC(PS$) = 13 THEN 660
  62. 620 PASSWD$ = PASSWD$ + PS$ : GOTO 600
  63. 630 '
  64. 640 '======== TEST FOR PASSWORD MATCH =========================================
  65. 650 '
  66. 660 IF PASSWD$ = PASSWORD$(Z)  THEN 800
  67. 670 CLS : LOCATE 5,5 : PRINT " ****  INCORRECT PASSWORD **** " : PASSWD$=""
  68. 680 '
  69. 690 '========= ALLOW 4 ATTEMPTS TO GET PASSWORD RIGHT ========================
  70. 700 '
  71. 710 FOR N=1 TO 850 : NEXT : COUNT = COUNT + 1 : IF COUNT < 4 THEN 590
  72. 720 FOR N=1 TO 1250: NEXT: LOCATE 5,5: PRINT " Number of attempts exceeds limit!": COUNT = 0: EXCEEDS.ATTEMPTS = 1
  73. 730 '
  74. 740 ' ============== SET CAPS-LOCK TO 'ON' ===================================
  75. 750 '
  76. 760 DEF SEG = &H40 : POKE &H17,PEEK(&H17) OR 64 :GOTO 430  ' START AGAIN
  77. 770 '
  78. 780 ' =========== SUCCESSFUL ENTRY =====================
  79. 790 '
  80. 800 CLS : SYSTEM
  81.